package functional.closure;

import java.util.function.IntSupplier;

/**
 * @ClassName Closure4
 * @PackageName functional.closure
 * @projectName myThread
 * @Description 
 * @Author games
 * @Date 2025/8/27 下午1:33
 * @Version 1.0
 */

public class Closure4 {

    /**
     * 这就叫做等同 final 效果（Effectively Final）。这个术语是在 Java 8 才开始出现的，表示虽然没有明确地声明变量是 final 的，
     * 但是因变量值没被改变过而实际有了 final 同等的效果。 如果局部变量的初始值永远不会改变，那么它实际上就是 final 的
     * @param x
     * @return
     */
    IntSupplier makeFun(final int x) {
        final int i = 0;
        return () -> x + i;
    }
}